[pull] master from supabase:master - #1125
Merged
Merged
Conversation
…8469) Hover-preloading any link that points at a redirecting path (e.g. the org invite "Decline" link to `/projects`) hung the tab under the TanStack runtime: `redirect({ href })` is treated as an opaque external target, and the router's preload retry ignores `href` when rebuilding the location, so it re-runs the same `beforeLoad`, throws the same redirect, and recurses forever (TanStack/router#7141 — internal targets must use `to`). **Changed:** - `routes/__root.tsx` — the redirect-table `beforeLoad` splits the destination with `splitInternalUrl()` and throws `redirect({ to, search, hash, statusCode })` instead of `redirect({ href })`. `to` is basepath-relative, so the manual `BASE_PATH` prefix goes away too. - `routes/index.tsx` — same `href` → `to`/`search`/`hash` switch for the `/` redirects; the "targets aren't in the routeTree yet" comment was stale (all three destinations resolve to real routes now). - `OrganizationInvite.tsx` — "Decline" links straight to `/organizations`, skipping the `/projects` redirect hop entirely. ## To test - On the TanStack runtime, hover (don't click) a link to a redirecting path — e.g. the auth overview's "Go to observability" link (`/project/:ref/reports/auth`) or the 404 page's `/projects` link. The page must stay responsive (this hung before). - `/projects` → `/organizations` (307), `/project/:ref/database` → `/database/tables` (308), `/` → `/org`. - Query/hash semantics still hold: `/?next=new-project&projectName=x` → `/new/new-project?projectName=x`; `/project/:ref/database/wrappers?foo=bar` → `/integrations?category=wrapper&foo=bar`; `/org/:slug/invoices#other` → `/org/:slug/billing#invoices`. - Chained redirects stay bounded: `/project/:ref/database/linter` → `/advisors/security` in two hops. All of the above verified locally via Playwright against the TanStack dev server; `redirects.shared` / `internal-url` / compat-router unit tests pass. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Fixed the invitation “Decline” action to route users to the Organizations page instead of the Projects page. - Improved Studio redirect/navigation handling by correctly preserving URL search parameters and hash fragments and routing to the intended destination. - **Tests** - Updated Organization Invite test expectations to reflect the corrected “Decline” link destination. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
## Summary - Move High Availability into the standard project creation settings above Compute, gated by the `instances.high_availability` entitlement. - Mark the option as Alpha and explain that it is free during Alpha for up to two projects. - Enforce the supported HA configuration: `AWS_K8S`, Postgres 17 on the `ga` release channel (no custom version is sent — the API resolves the image), and the environment-specific local/staging region restrictions. - Show eligible locations in a dedicated **High Availability Regions** group. - Preserve the existing Advanced Configuration availability rules and additionally hide the section while HA is enabled. - Restore the previous provider and Postgres settings when HA is switched off. ## How to test 1. Go to create a new project 2. Ensure you have access to high availability (e.g. on local) 3. Toggle high availability on and note how the project form restricts settings listed above <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added High Availability to project creation with Alpha warning labeling and improved switch accessibility. * Constrains region selection to compatible High Availability regions and enforces HA-specific engine/release settings. * Disables/hides custom PostgreSQL version selection when High Availability is enabled (and omits HA custom request payloads). * **Bug Fixes** * Improved persistence of selected PostgreSQL version and region across data reloads and configuration panel reopen/toggle. * Restores region when form state temporarily drops values during remounts. * **Tests** * Expanded end-to-end coverage for HA UI, region grouping, and submit/payload restoration behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
## Summary More gating to support upcoming High Availability projects. - Keep the Recent Branch stat visible on the project home page for HA projects, but disable its interaction, reduce its opacity, and skip the branches query. - Treat Realtime as disabled for HA projects in the service-status dropdown so it does not make the project appear unhealthy or trigger unhealthy polling. - Show the shared unsupported-feature empty state for Custom Domains and skip its query on HA projects. - Disable the Enable Realtime checkbox in the table creation sheet for HA projects. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added High Availability–aware behavior across activity stats, service status, custom domains, and table realtime controls. - Introduced reusable Branch value UI that shows an “Unavailable” state in High Availability mode. - Added a dedicated realtime toggle UI that disables interaction and updates helper text when unavailable. - **Bug Fixes** - Ensured realtime is treated as disabled (not unhealthy) in High Availability and prevented realtime enabling/saving. - Reduced unnecessary data fetching by gating addon/custom-domain requests and disabling branch queries. - **Tests** - Added coverage for realtime status resolution, BranchStatValue “Unavailable” rendering, and TableRealtimeToggle behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Updates connection pooling settings to be read-only when a high availability project with ip4 admonition removed - Updates organization usage to be disabled until supported - Updates database publications to be disabled until supported <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added High Availability handling for database publications, usage, and connection pooling. * Publications and usage now display dedicated “unavailable” empty states and hide gated content when High Availability is enabled. * Connection pooling switches to managed/read-only mode on High Availability, disabling edits and form submission and disabling related data fetching. * Pooling mode controls are hidden on High Availability. * **Refactor** * Refactored database publications pages by extracting main rendering logic into internal components. * **Tests** * Added Vitest + React Testing Library coverage for High Availability behavior across publications availability, usage, connection pooling, and pooling modes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )